Communication apparatus and communication method

ABSTRACT

According to one embodiment, a communication apparatus includes a congestion degree calculating unit and an operation mode setting unit. The congestion degree calculating unit calculates a third congestion degree related to wireless communication based on a first congestion degree of first wireless communication and a second congestion degree of second wireless communication. In the first wireless communication, peer-to-peer communication is performed directly between communication apparatuses, and in the second wireless communication, communication is performed through a wireless communication device. The operation mode setting unit switches an operation mode of the first wireless communication based on the third congestion degree to either of a mode in which the communication apparatus transmits content or a mode in which the communication apparatus receives content.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority fromU.S. Provisional Application No. 62/242,664, filed on Oct. 16, 2015; theentire contents of which are incorporated herein by reference.

FIELD

Embodiments described herein relate generally to a communicationapparatus and a communication method.

BACKGROUND

As a scheme in which wireless terminals perform wireless communicationdirectly without intervention of a server or the like, a peer-to-peerwireless inter-terminal communication scheme (mobile P2P communicationscheme) is known. Further, a communication scheme (hereinafter, referredto as “non-mobile P2P communication scheme”) in which wireless terminalsperform wireless communication through a wireless access point is known.

However, when a mobile P2P terminal that performs communicationaccording to the mobile P2P communication scheme and a non-mobile P2Pdevice that performs communication according to the non-mobile P2Pcommunication scheme perform communication while ignoring each other, awireless band is congested, and a communication rate of the mobile P2Pcommunication or the non-mobile P2P communication is lowered.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating a configuration of a wireless networkaccording to an embodiment;

FIG. 2 is a block diagram illustrating an exemplary configuration of amobile P2P terminal;

FIG. 3 is a flowchart illustrating a congestion degree calculationprocess;

FIG. 4 is a diagram illustrating an exemplary configuration ofNon-MP2P-info;

FIG. 5 is a diagram illustrating an exemplary configuration ofOthers-MP2P-info;

FIG. 6 is a diagram illustrating an exemplary configuration ofSelf-MP2P-info; and

FIG. 7 is a diagram for describing frequency overlapping betweenchannels.

DETAILED DESCRIPTION

In general, according to one embodiment, a communication apparatusincludes a congestion degree calculating unit, a wireless interface, andan operation mode setting unit. The congestion degree calculating unitcalculates a third congestion degree related to wireless communicationbased on a first congestion degree of first wireless communication and asecond congestion degree of second wireless communication. The firstwireless communication is wireless communication in which peer-to-peercommunication is performed directly between a plurality of communicationapparatuses. The second wireless communication is wireless communicationin which communication is performed through a wireless communicationdevice connected to an externally provided network. The wirelessinterface performs the first wireless communication. The operation modesetting unit switches a setting of an operation mode of the firstwireless communication of the communication apparatus based on the thirdcongestion degree to either of a first communication mode in which firstcontent is transmitted from the communication apparatus to anothercommunication apparatus or a second communication mode in which secondcontent is received by the communication apparatus from anothercommunication apparatus.

Exemplary embodiments of a communication apparatus and a communicationmethod will be explained below in detail with reference to theaccompanying drawings. The present invention is not limited to thefollowing embodiments.

Embodiment

FIG. 1 is a diagram illustrating a configuration of a wireless networkaccording to an embodiment. A wireless network 100 includes n (n is anatural number) wireless access points AP1, AP2, . . . , APn as anetwork infrastructure. The wireless access points AP1, AP2, . . . , APnare connected to the Internet 101 via a wired backbone network. In thefollowing description, there are cases in which the wireless accesspoints AP1, AP2, . . . , APn are individually or collectively referredto as a “wireless access point APx.” The wireless access point APx is acommunication device that is configured to enable a wirelesscommunication terminal such as a mobile phone or a tablet terminal to bewirelessly connected with the Internet 101 as a station according to acommunication standard such as IEEE 802.11. In the followingdescription, wireless communication is assumed to be performed accordingto a communication standard specified in IEEE 802.11 or a protocolextended therefrom. The present embodiment can be applied to othercommunication standards.

Further, in the wireless network 100, m (m is a natural number)terminals STA1, STA2, . . . , STAm that operate as stations and performthe Internet access can be connected to any one of the wireless accesspoints APx. In the following description, there are cases in which theterminals STA1, STA2, . . . , STAm are individually or collectivelyreferred to as a “terminal STAx.” The terminal STAx is a wirelesscommunication terminal such as a mobile phone or a tablet terminal.

In the wireless network 100, N (N is a natural number) terminals (thepublishers Pub1, Pub2, . . . , PubN) serving as delivery sources thatperform ad hoc content delivery can perform wireless communication withvarious devices. In the following description, there are cases in whichthe publishers Pub1, Pub2, . . . , PubN are individually or collectivelyreferred to as a “publisher(s) Pubx.” The terminal Pubx is a wirelesscommunication terminal such as a mobile phone or a tablet terminal.

Further, in the wireless network 100, M (M is a natural number)terminals (subscribers Sub1, Sub2, . . . , SubM) are connected to anyone of the publishers Pubx and can receive content from the publishersPubx. In the following description, there are cases in which thesubscribers Sub1, Sub2, . . . , SubM are individually or collectivelyreferred to as a “subscriber(s) Subx.”

As described above, the wireless network 100 is configured with variouswireless devices (the wireless access point APx, the terminal STAx, thepublisher Pubx, and the subscriber Subx) that perform communicationusing as a wireless band as a medium.

The publishers (senders) Pubx or the subscribers (receivers) Subx may beconfigured to be connected to the network infrastructure or configurednot to be connected to the network infrastructure. A server 102 may beconnected to the Internet 101, and the server 102 may be connected to abase station (cell tower) 103. In this case, the publishers Pubx may beconfigured to be connected to the base station 103 or configured not tobe connected to the base station 103. The subscribers Subx may beconfigured to be connected to the base station 103 or configured not tobe connected to the base station 103.

In the wireless network 100, the publisher Pubx delivers content to thesubscriber Subx connected to the publisher Pubx. In this case, thepublisher Pubx performs content delivery through direct wirelesscommunication between terminals without intervention of the networkinfrastructure.

The subscriber Subx can function as (perform state transition to) thepublisher Pubx that delivers received content to another terminal.Conversely, the publisher Pubx can stop the delivery, perform statetransition to the subscriber Subx, and receive content from anotherpublisher Pubx. As described above, the terminal related to the ad hoccontent delivery switches its role between the subscriber Subx and thepublisher Pubx, and relays content. As a result, it is possible todeliver content to a plurality of terminals which direct wirelesscommunication from the terminal that initially started the delivery doesnot necessarily reach. Such peer-to-peer content delivery using a mobilewireless communication apparatus such as a mobile phone mainly isreferred to as “mobile P2P communication (mobile ad hoc networkcommunication).” Further, terminals including the publisher Pubx and thesubscriber Subx in connection with the mobile P2P communication arereferred to collectively as “mobile P2P terminals.”

In the mobile P2P communication, the publisher Pubx sequentiallytransmits content to one or more connected subscribers Subx in a unicastmanner such that content is delivered to one subscriber Subx at a time.The publisher Pubx may deliver content to a plurality of subscribersSubx in a multicast or broadcast manner rather than the unicast manner.In this case, no reception acknowledgement ACK or retransmissionmechanism of the Media Access Control (MAC) layer of Layer 2 is used inthe multicast/broadcast transmission. For this reason, a mechanismsimilar to a reception acknowledgement ACK or retransmission mechanismis assumed to be implemented in the application layer on the mobile P2Pterminal. In other words, when it is found that a data packet from thepublisher Pubx has been lost, each subscriber Subx transmits a lostpacket repair request serving as a reception failure acknowledgementNACK to the publisher Pubx. Then, the publisher Pubx retransmits a lostpacket while integrating the repair requests from a plurality ofsubscribers Subx. As described above, the publisher Pubx transmits thelost packet once even when a plurality of subscribers Subx request thesame data packet several times.

A local network for performing the mobile P2P communication isimplemented in one of the following modes (A1) and (A2).

(A1) Infrastructure mode: the publisher Pubx activates in its ownterminal a temporary wireless access point that is not necessarilyconnected to the network infrastructure, and transmits a beacon fornotifying surrounding terminals of the presence of an access point atregular intervals. In other words, the publisher Pubx serves as thewireless access point and transmits a beacon for notifying of thepresence of the access point at a predetermined timing. The subscribersSubx are connected to the access point generated by the publisher Pubxas stations. As a result, a star-shaped local network centering on thepublisher Pubx is formed. Communication within the local network isnecessarily performed through the publisher Pubx. A temporary accesspoint that is generated by the publisher Pubx, and is different from anaccess point provided as the network infrastructure is referred to as amobile P2P access point. The subscriber Subx connected to the mobile P2Paccess point is referred to as a “mobile P2P station” so as to bedistinguished from a station connected to the access point APx.

(A2) Ad hoc mode: the publisher Pubx transmits the beacon for notifyingof the presence of an ad hoc network at regular intervals. Thesubscriber Subx that has joined the ad hoc network plays the same roleas the publisher Pubx in maintaining the local network. In other words,the beacon is sequentially transmitted among the mobile P2P terminalconfiguring the local network. The communication within the localnetwork can directly be performed between arbitrary terminals.

The mobile P2P terminal may be connected to any one of the wirelessaccess points AP1, AP2, . . . , APn serving as the networkinfrastructure while performing the mobile P2P communication. Forexample, as illustrated in FIG. 1, the subscriber Sub2 is connected tothe wireless access point AP1, the subscriber Sub4 is connected to thewireless access point AP2, and the publisher PubN is connected to thewireless access point APn. In other words, the mobile P2P terminalfunctions as the station STAx as well. This can be implemented when themobile P2P terminal includes a plurality of wireless network interfaces.

The station STAx can perform communication with a network provided as aninfrastructure such as the Internet 101 through the wireless accesspoint APx. This communication is referred to as “non-mobile P2Pcommunication.”

The mobile P2P communication scheme is a communication scheme(peer-to-peer wireless inter-terminal communication scheme) in which thewireless terminals perform wireless communication directly in apeer-to-peer manner without intervention of a server or the like. Thenon-mobile P2P communication scheme is a wireless communication schemeother than the mobile P2P communication scheme. For example, thenon-mobile P2P communication scheme is a communication scheme in whichthe wireless terminals perform wireless communication through thewireless access point APx.

The mobile P2P terminal having the function of the station STAx canperform the non-mobile P2P communication. The terminal and the wirelessaccess point APx that perform the non-mobile P2P communication arereferred to collectively as “non-mobile P2P devices.” The same terminalmay be both the mobile P2P terminal and the non-mobile P2P device at thesame time. Physically, the same terminal is considered to undertakeroles of two devices at the same time.

FIG. 2 is a block diagram illustrating an exemplary configuration of themobile P2P terminal. A mobile P2P terminal 10 serving as a communicationapparatus is the publisher Pubx or the subscriber Subx. The mobile P2Pterminal 10 includes a network control unit 20, a wireless interface 31,and a non-volatile memory 32.

The wireless interface 31 performs a reception process of a wirelesssignal according to a communication protocol, and, when the receivedsignal is a message addressed to its own device, outputs the message tothe network control unit 20. The wireless interface 31 transmits amessage generated by the network control unit 20 as a wireless signalaccording to the communication protocol. The non-volatile memory 32holds data to be transmitted, received data, and the like.

The network control unit 20 includes an operation mode setting unit 21,a file managing unit 22, a message processing unit 23, and a congestiondegree calculating unit 24. The operation mode setting unit 21 of thenetwork control unit 20 sets a mode in which its own device is tooperate, that is, a mode specifying whether the own device operates asthe publisher Pubx or the subscriber Subx and a transmission conditionin which a message is transmitted (a channel, transmission power, atransmission rate, and the like). The operation mode setting unit 21controls the file managing unit 22, the message processing unit 23, andthe wireless interface 31 such that an operation is performed accordingto an operation mode.

When the mobile P2P terminal 10 operates as the publisher Pubx, the filemanaging unit 22 generates a table of contents (To (content information)of a group of files to be delivered to the subscriber Subx. In thepresent embodiment, a bundle of data to be transmitted from thepublisher Pubx to the subscriber Subx is referred to as a “file.” Thefile may be any type of data file. For example, the file may be a textfile or an image or video data file.

When the mobile P2P terminal 10 operates as the publisher Pubx, thepublisher Pubx transmits one or more files through a series of messages.The file managing unit 22 generates the ToC storing information relatedto the files corresponding to the series of messages before the seriesof messages are transmitted.

The file managing unit 22 breaks down a file into unit data which iscalled a chunk (a data chunk) and used when a retransmission process isperformed, and allocates a unique identifier to each chunk. The ToCincludes an identifier of a file and a list of chunks in the file foreach file. For example, a list of chunks in a file may be represented bya list of identifiers of chunks. The present embodiment is not limitedthereto, and a list (hereinafter, referred to as a “chunk list”) ofchunks in a file may be represented by a range of identifiers of chunksto be transmitted when consecutive chunk identifiers are allocated toone file. The message processing unit 23 generates a message (a ToCmessage) storing the ToC. The wireless interface 31 transmits the ToCmessage as a wireless signal.

Further, when the mobile P2P terminal 10 operates as the subscriberSubx, the mobile P2P terminal 10 is connected to one (an i-th publisherPubi) of the neighboring other mobile P2P terminals 10 operating as thepublisher Pubx. In other words, the mobile P2P terminal 10 joins thelocal network to which the publisher Pubi belongs. The wirelessinterface 31 receives the message sent from the publisher Pubi, andperforms a process according to content of the message. The filemanaging unit 22 holds the chunk list reported through the ToC messagetransmitted by the publisher Pubi.

Further, when the mobile P2P terminal 10 operates as the publisher Pubx,the message processing unit 23 generates a data message from dataconstituting a file stored in the non-volatile memory 32. The wirelessinterface 31 transmits the data message as a wireless signal.

Further, when the mobile P2P terminal 10 operates as the publisher Pubx,the message processing unit 23 performs the retransmission process basedon a repair message received from the subscriber Subx belonging to thesame local network. Here, the example in which the publisher Pubxtransmits data held in the non-volatile memory 32 to the subscriber Subxis described, but the present embodiment can be applied even when datareceived via a wired line or a wireless line or data stored in anotherexternal storage medium is transmitted.

Further, when the mobile P2P terminal 10 operates as the subscriberSubx, the message processing unit 22 extracts data from the data messagereceived from the connected publisher Pubi, and stores the extracteddata in the non-volatile memory 32. In this case, the message processingunit 23 determines whether or not the data message has properly beenreceived with reference to the chunk list stored in the ToC held in thefile managing unit 22. Further, when the mobile P2P terminal 10 operatesas the subscriber Subx, the message processing unit 23 generates therepair request (the repair message) and transfers the repair request tothe wireless interface 31 when there is a data message that has failedto be received.

The data message is a message including a chuck serving as a segment offile data to be transmitted from the publisher Pubx to the subscriberSubx. One data message include one or more chunks. One chunk consists ofan identifier of the chunk and a byte stream representing data of thechunk. Other information may be additionally included in the chunk.

When a size of a chunk is too large to be transmitted as one datamessage, a chunk may be divided into smaller unit data such as sectors.In this case, the data message is transmitted in units of sectors, butthe retransmission request is made in units of chunks. In this case, thedata message includes one or more sectors. The sector consists of anidentifier of the sector and a byte stream representing data of thesector. The identifier of the sector includes a pair of an identifier ofa chunk in which the sector is included and an index of the sectorwithin the chunk. The publisher Pubx breaks down the ToC into chunks orsectors, and transmits the ToC as the data message, similarly to thefile data.

The congestion degree calculating unit 24 acquires communicationinformation (Non-MP2P-info, Others-MP2P-info, and Self-MP2P-info whichwill be described later) of one or more non-mobile P2P devices and oneor more mobile P2P terminals 10 through the wireless interface 31, themessage processing unit 23, and any other unit (not illustrated). Thecongestion degree calculating unit 24 calculates a congestion degree ofwireless communication by the non-mobile P2P device and a congestiondegree of wireless communication by the mobile P2P terminal 10 based onthe communication information.

The congestion degree of the wireless communication indicates a decreasedegree of communication rate, a delay (congestion) of data that istransmitted and received, and the like. For example, the congestiondegree of the wireless communication may be one corresponding to a ratioof resources available at the time of wireless communication and thenumber of data transmission requests. Further, the congestion degree ofthe wireless communication may be one according to wait time before datatransmission can be performed or to the number of data transmissionswithin a predetermined period of time. The congestion degree calculatingunit 24 sets an operation mode according to the congestion degree of thewireless communication to the operation mode setting unit 21.

FIG. 3 is a flowchart illustrating the congestion degree calculationprocess. FIG. 3 illustrates a congestion degree calculation processperformed by the congestion degree calculating unit 24 according to theembodiment. Here, an I-th (I is a natural number of 1 to N or 1 to M)mobile P2P terminal 10 (a publisher PubI or a subscriber SubI) isdescribed as a terminal PeerI (=PubI or SubI).

The congestion degree calculating unit 24 of the terminal PeerI acquiresinformation (Non-MP2P-info) related to the non-mobile P2P communicationfrom at least some of the wireless access points AP1, AP2, . . . , APn(step S21).

FIG. 4 is a diagram illustrating an exemplary configuration ofNon-MP2P-info. Non-MP2P-info is information of properties influencingthe congestion degree of the mobile P2P communication, Non-MP2P-infoincludes information (Non-MP2P-info (AP1) to (APn)) of the non-mobileP2P communication in the wireless access points AP1, AP2, . . . , APn.

Here, a configuration of Non-MP2P-info (APi) in an i-th (i is a naturalnumber of 1 to n) wireless access point APi will be described.Non-MP2P-info (APi) is the whole or part of the following AP information51 to 59. In other words, Non-MP2P-info (APi) includes at least one ofthe AP information 51 to 59:

the AP information 51: wireless channel information (a frequency and abandwidth) used by the wireless access point APi: CHi;

the AP information 52: a transmission rate (PHY bitrate) of a physicallayer being currently used by the wireless access point APi: Ri;

the AP information 53: transmission power of the wireless access pointAPi: PWRi;

the AP information 54: reception power (received signal strengthindicator: RSSI) from the wireless access point APi detected by theterminal PeerI: RSSIi;

the AP information 55: a position (for example, GPS coordinates of aposition at which the wireless access point APi is installed) of thewireless access point APi: POSi;

the AP information 56: an error rate (a probability of packetretransmission due to a packet loss in the MAC layer) of communicationwith the wireless access point APi which is detected by the terminalPeerI: ERRi;

the AP information 57: the number terminals STAx (the number ofstations) connected to the wireless access point APi: NSi;

the AP information 58: a communication load (an amount (Mbps) of dataper unit time that is transmitted and received by the wireless accesspoint APi) of the wireless access point APi: LDi; and

the AP information 59: a MAC layer back-off frequency (the number oftimes that back-off has been performed within a predetermined pastperiod of time by carrier sense multiple access with collision avoidance(CSMA/CA) or an average value of contention window sizes during apredetermined past period of time) of the wireless access point APi atthe time of transmission: Boi.

CHi is channel information identifying a wireless band used in thenon-mobile P2P communication. Among the AP information 51 to 59, CHi andRSSIi can be detected when the terminal PeerI receives a beacon framebroadcast by the wireless access point APi at regular intervals. Thus,the terminal PeerI can acquire CHi and RSSIi without being connected tothe wireless access point APi.

Non-MP2P-info related to the non-mobile P2P communication is acquired byany one of the following methods (B1) to (B3) or a combination of themethods.

(B1) The wireless access point APi embeds Non-MP2P-info in the beacon,and broadcasts the resulting beacon. Specifically, the wireless accesspoint APi quantizes Non-MP2P-info, encodes it into a character string of32 or less characters, ad it to an extended service set identifier(ESSID) indicating a network name, and transmits the resulting data.Alternatively, the wireless access point APi may broadcast.Non-MP2P-info using a beacon frame whose specification is extended toinclude Non-MP2P-info as a payload. In the case of informationacquisition by the beacon, the terminal PeerI collects Non-MP2P-infofrom all the access points APx that the terminal PeerI can detect thebeacon from.

(B2) The wireless access point APi uploads Non-MP2P-info to the server102 via the Internet 101. Then, the terminal PeerI downloadsNon-MP2P-info from the server 102 using a separate communication meanssuch as a mobile telephone network via the base station 103 or the like.In this case, the terminal PeerI transmits a position of its ownterminal determined by a global positioning system (GPS), WiFi (aregistered trademark), or the like to the server 102. Then, the server102 transmits Non-MP2P-info of the access point APx close to theposition of the terminal PeerI to the terminal PeerI.

(B3) The terminal PeerI connects to the wireless access point APi andreceives Non-MP2P-info. At this time, the terminal PeerI can acquirevalues of Ri and ERRi at the time of reception when unicastcommunication with the wireless access point APi is performed. Thewireless access point APi transmits Non-MP2P-info other than Ri and ERRito the terminal PeerI as data. As a result, the terminal PeerI canreceive Non-MP2P-info other than Ri and ERRi from the wireless accesspoint APi. If the terminal PeerI repeatedly performs a connection andcommunication with all the access points APx, it takes time. For thisreason, the terminal PeerI acquires information only from the accesspoint APx that is highest in the RSSI obtained from the beacon orseveral access points APx that are high in the RSSI.

Further, the congestion degree calculating unit 24 of the terminal PeerIreceives information (Others-MP2P-info) related to the mobile P2Pcommunication from at least some of the mobile P2P terminals (the mobileP2P terminals Pub1, Pub2, . . . , PubN and Sub1, Sub2, . . . , SubM)excluding its own terminal (step S22).

FIG. 5 is a diagram illustrating an exemplary configuration ofOthers-MP2P-info. Others-MP2P-info is information of propertiesinfluencing the congestion degree of the mobile P2P communication.Others-MP2P-info includes information (Others-MP2P-info (Peer1) to(PeerN+M−1)) related to the mobile P2P communication in the mobile P2Pterminals Pub1, Pub2, . . . , PubN and Sub1, Sub2, . . . , SubM otherthan its own terminal.

Here, a configuration of Others-MP2P-info (Peerj) in a j-th (j is anatural number of 1 to (N+M−1) excluding I) mobile P2P terminal (aterminal Peerj) will be described. Others-MP2P-info (Peerj) is all orsome of the following MP2P information 61 to 70. In other words,Others-MP2P-info (Peerj) includes at least one of the MP2P information61 to 70:

the MP2P information 61: wireless channel information (a frequency and abandwidth) used by the terminal Peerj: CHj;

the MP2P information 62: a transmission rate (PHY bitrate) of a physicallayer being currently used by the terminal Peerj: Rj;

the MP2P information 63: the transmission power of the terminal Peerj:PWRj;

the MP2P information 64: the reception power (the received signalstrength indicator: RSSI) from the terminal Peerj which is detected bythe terminal PeerI: RSSIj;

the MP2P information 65: a position of the terminal Peerj; POSj (forexample, GPS coordinates of a position at which the terminal Peerj iscurrently positioned);

the MP2P information 66: an error rate of communication with Peerj whichis detected by the terminal PeerI: ERRj (a probability of packetretransmission due to a packet loss in the MAC layer) or a probabilitythat the terminal PeerI receives a repair request and performs a repairresponse (that is, retransmission) at an application layer whenmulticasting/broadcasting is used in the mobile P2P communication;

the MP2P information 67: the number mobile P2P terminals connected tothe terminal Peerj: NSj;

the MP2P information 68: a communication load of the terminal Peerj: LDj(an amount (Mbps) of data per unit time that is transmitted and receivedby the terminal Peerj);

the MP2P information 69: the MAC layer back-off frequency of theterminal Peerj at the time of transmission: BOj (the number of timesthat back-off has been performed by CSMA/CA within a predetermined pastperiod of time or an average value of contention window sizes during apredetermined past period of time); and

the MP2P information 70: a state of the terminal Peerj: STATj (publisheror subscriber).

The terminal PeerI acquires CHj and RSSIj among the MP2P information 61to 70 through any one of the following methods (C1) and (C2).

(C1) When the mobile P2P communication is performed in theinfrastructure mode, and the terminal Peerj functions as the publisher(Peerj=Pubj), the terminal PeerI acquires CHj and RSSIj from the beaconframe broadcast by the terminal Peerj at regular intervals.

(C2) When the mobile P2P communication is performed in the ad hoc mode,the terminal PeerI acquires CHj and RSSIj from the beacon framebroadcast by the terminal Peerj at regular intervals.

Others-MP2P-info related to the other mobile P2P communication isdirectly acquired when the terminal PeerI forms the local network withthe terminal Peerj. Further, when the terminal PeerI does not form thelocal network with the terminal Peerj, Others-MP2P-info is acquiredindirectly (for example, while switching the local networks andperforming multi-hopping). Specifically, Others-MP2P-info is acquired byany one of the following methods (D1) to (D3) or a combination of themethods.

(D1) The terminal Peerj embeds Others-MP2P-info in the beacon, andbroadcasts the resulting beacon. Specifically, the terminal Peerjquantizes Others-MP2P-info, encodes it into a character string of 32 orless characters, adds it to an ESSID indicating a network name includedin the beacon, and transmits the resulting data. Alternatively, theterminal Peerj may broadcast Others-MP2P-info using a beacon frame whosespecification is extended to include Others-MP2P-info as a payload. Inthe case of information acquisition by the beacon, the terminal PeerIcollects information from all the terminals Peerj that the terminalPeerI can detect the beacon from. Further, when the mobile P2Pcommunication is implemented in the infrastructure mode, and theterminal Peerj functions as the subscriber (Peerj=Subj), the terminalPeerj does not broadcast the beacon. In this case, the terminal PeerIdoes not acquire Others-MP2P-info from the subscriber Subj.

(D2) The terminal Peerj uploads Others-MP2P-info to the server 102 usinga separate communication means such as a mobile telephone network viathe base station 103, the Internet 101 via the wireless access pointAPx, or the like. Then, the terminal PeerI downloads Others-MP2P-infofrom the server 102 using a separate communication unit (the wirelessaccess point APx, the base station 103, or the like) such as a mobiletelephone network. In this case the terminal PeerI transmits a positionof its own terminal determined by the GPS, WiFi (a registeredtrademark), or the like to the server 102. Then, the server 102transmits Others-MP2P-info of the mobile P2P terminal (the terminalPeerj) close to the position of the terminal PeerI to the terminalPeerI.

(D3) When the terminal PeerI and the terminal Peerj belong to the samelocal network in the mobile P2P communication, the terminal PeerIdirectly receives Others-MP2P-info via the local network. At this time,the terminal PeerI can acquire the values of Rj and ERRj at the time ofreception when unicast communication with Peerj is performed. Theterminal PeerI transmits Others-MP2P-info other than Rj and ERRj to theterminal PeerI as data. As a result, the terminal PeerI can receiveOthers-MP2P-info other than Rj and ERRj from the terminal Peerj.

Further, the congestion degree calculating unit 24 of the terminal PeerIacquires information (Self-MP2P-info) related to the mobile P2Pcommunication in its own terminal PeerI (step S23).

FIG. 6 is a diagram illustrating an exemplary configuration ofSelf-MP2P-info. Self-MP2P-info is information of properties influencingthe congestion degree of the mobile P2P communication. Self-MP2P-info(PeerI) is all or some of the following MP2P information 81 to 88. Inother words, Self-MP2P-info (PeerI) includes at least one of the MP2Pinformation 81 to 88:

the MP2P information 81: wireless channel information (a frequency and abandwidth) used by the terminal PeerI: CHI;

MP2P information 82: the transmission rate (PHY bitrate) of the physicallayer being currently used by the terminal PeerI: RI;

the MP2P information 83: the transmission power of the terminal PeerI:PWRI;

the MP2P information 84: a position of the terminal PeerI (for example,GPS coordinates of a position at which the terminal PeerI is currentlypositioned): POSI;

the MP2P information 85: the number of mobile P2P terminals connected tothe terminal PeerI: NSI;

the MP2P information 86: a communication load of the terminal PeerI (anamount (Mbps) of data per unit time that is transmitted and received bythe terminal PeerI): LDI;

the MP2P information 87: the MAC layer back-off frequency of theterminal PeerI at the time of transmission (the number of times thatback-off has been performed by CSMA/CA within a predetermined pastperiod of time or an average value of contention window sizes during apredetermined past period of time): BOI; and

the MP2P information 88: a state of the terminal PeerI (publisher orsubscriber): STATI.

The order of steps S21, S22, and S23 is arbitrary. After steps S21 toS23, the congestion degree calculating unit 24 of the terminal PeerIcalculates the congestion degree of the wireless communication observedby its own terminal PeerI (step S24).

When selectable channels are 1, 2, . . . , K (K is a natural number),the congestion degree calculating unit 24 calculates a congestion degreeNon-MP2P-congestion(k) of the channel k by the non-mobile P2Pcommunication and a congestion degree MP2P-congestion(k) of the channelk by the mobile P2P communication for each channel k (1≦k≦K). In otherwords, the congestion degree calculating unit 24 calculates thecongestion degree of the non-mobile P2P communication and the congestiondegree of the mobile P2P communication corresponding to individualchannels. At this time, the congestion degree calculating unit 24calculates the congestion degree based on the communication information(Non-MP2P-info, Others-MP2P-info, and Self-MP2P-info) acquired in theprocess of steps S21 to S23.

The congestion degree Non-MP3P-congestion k of the channel k by thenon-mobile P2P communication can be expressed by the following Formula(1). Further, the congestion degree MP2P-congestion(k) of the channel kby the mobile P2P communication can be expressed by the followingFormula (2).

Non-MP2P-congestion(k)=func(Non-MP2P-info)  (1)

MP2P-congestion(k)=func(Others-MP2P-info,Self-MP2P-info)  (2)

Here, func( ) indicates a certain function, examples of which aredescribed below.

(Congestion Degree of Non-Mobile P2P Communication)

An example of a calculation formula of the congestion degreeNon-MP2P-congestion(k) of the non-mobile P2P communication includes thefollowing Formula (1X):

Non-MP2P-congestion(k)=Σi=1, . . . , n ch2c(k, CHi)(C1 r2c(Ri)+C2pwr2c(PWRi)+C3 rssi2c(RSSIi)+C4 pos2c(POSi)+C5 err2c(ERRi)+C6ns2c(NSi)+C7 ld2c(LDi)+C8 bo2c(BOi))  (1X)

Here, C1 to C8 in Formula (1X) are weight coefficients for adjustingcontributions of respective terms. ch2c(k, ch) is a function thatconverts information of a channel into a congestion degree element andexpressed by the following Formulas (1A) and (1B).

ch2c(k, ch)=1(k=ch)  (1A)

ch2c(k, ch)=0(otherwise)  (1B)

In the non-mobile P2P communication, only when a channel ch beingcurrently used is identical to k, it contributes to the congestiondegree of the channel k.

FIG. 7 is a diagram for describing frequency overlapping betweenchannels. In the non-mobile P2P communication, for example, any one ofchannels 1 to 13 is used at a 2.4 GHz band. Formulas (1A) and (1B) areformulas used when there is no overlap between channels such as whenchannels 1, 6, and 11 (FIG. 7) are used in 2.4 GHz band WiFi (aregistered trademark) or when 5 GHz band WiFi (a registered trademark)is used.

When overlapping channels (for example, channels 2 and 3 in 2.4 GHz bandWiFi (a registered trademark)) are permitted to be used, a value ofch2c(k, ch) is given according to a mutual interference degree (overlapof lobes in FIG. 7). In other words, for different channels (forexample, k=1, ch=2) that interfere with each other, a value larger than0 and less than 1 is given as a value of ch2c(1, 2) such as ch2c(1,2)=0.6.

r2c(r) is a function that converts a transmission rate r (a unit isMbps) into a congestion degree element and can be expressed by thefollowing Formula (1-1).

r2c(r)=1/r  (1-1)

In the wireless communication, as the transmission rate decreases, aperiod of time taken for data transmission increases, and thus thecongestion degree of the wireless communication increases. r2c(r) may bea decreasing function of the transmission rate r rather than Formula(1-1).

pwr2c(pwr) is a function that converts transmission power pwr (a unit ismW) into a congestion degree element and can be expressed by thefollowing Formula (1-2).

pwr2c(pwr)=pwr  (1-2)

In the wireless communication, as the transmission power increases, thecongestion degree of the wireless communication increases. pwr2c(pwr)may be an increasing function of the transmission power pwr rather thanFormula (1-2).

rssi2c(rssi) is a function that converts reception power rssi (a unit ismW) into a congestion degree element and can be expressed by thefollowing Formula (1-3).

rssi2c(rssi)=rssi  (1-3)

In the wireless communication, as the reception power increases, thecongestion degree of the wireless communication increased. rssi2c(rssi)may be an increasing function of the reception power rssi rather thanFormula (1-3).

pos2c(pos) is a function that converts a position (geographicalcoordinates) pos of the wireless access point APi into a congestiondegree element and can be expressed by the following Formula (1-4).

pos2c(pos)=1/|pos−POSI|  (1-4)

Here, POSI indicates the position of its own terminal PeerI, and|pos−POSI| indicates a distance (a unit is m) between the wirelessaccess point APi and its own terminal PeerI. In the wirelesscommunication, as the distance decreases, the congestion degree of thewireless communication increases. pos2c(pos) may be a decreasingfunction of the distance pos POSI rather than Formula (1-4).

err2c(err) is a function that converts an error rate err (0≦err≦1, err=0indicates that there is no error, and err=1 indicates that there isalways an error) of data transmission and reception of the wirelessaccess point APi and its own terminal PeerI into a congestion degreeelement and can be expressed by the following Formula (1-5).

err2c(err)=err  (1-5)

in the wireless communication, as the error rate increases, thecongestion degree of the wireless communication increases. err2c(err)may be an increasing function of the error rate err rather than Formula(1-5).

ns2c(ns) is a function that converts the number ns of terminals STAxconnected to the wireless access point APi into a congestion degreeelement and can be expressed by the following Formula (1-6).

ns2c(ns)=ns  (1-6)

In the wireless communication, as the number of terminals STAxincreases, the congestion degree of the wireless communicationincreases. ns2c(ns) may be an increasing function of the number ns ofterminals rather than Formula (1-6).

ld2c(ld) is a function that converts a load (an average value in unitsof Mbps of a data transfer amount during a predetermined past period oftime, for example, for one minutes) ld of the wireless access point APiinto a congestion degree element and can be expressed by the followingFormula (1-7).

ld2c(ld)=ld  (1-7)

In the wireless communication, as the load increases, the congestiondegree of the wireless communication increases. ld2c(ld) may be anincreasing function of the load ld rather than Formula (1-7). As acalculation example of the load ld, when a data amount transferred forone minute is assumed to be 60 MB, an average load ld=60 MB/60 seconds=8Mbps.

bo2c(bo) is a function that converts the number of times that back-offhas been performed in the MAC layer before the wireless access point APiperforms transmission within a predetermined past period of time (forexample, for one minute) into a congestion degree element and can beexpressed by the following Formula (1-8).

bo2c(bo)=bo  (1-8)

In the wireless communication, the number of times of back-offincreases, the congestion degree of the wireless communicationincreases. bo2c(bo) may be an increasing function for the number bo oftimes of back-off rather than Formula (1-8). Further, instead of thenumber of times of back-off, an average value of contention window sizesduring a predetermined past period of time (for example, for one minute)may be used.

The congestion degree Non-MP2P-congestion(k) of the channel k by thenon-mobile P2P communication is obtained by calculating the congestiondegree elements for the respective wireless access points APi, obtaininga weighted sum of the calculation results excluding the channelcongestion degree element ch2c(ch, k), multiplying by the channelcongestion degree element ch2c(ch, k), and obtaining a sum for all APs(i=1 to n). The congestion degree calculating unit 24 does not includein the sum the value for the wireless access point APx whose informationis not acquired.

(Congestion Degree of Mobile P2P Communication)

An example of a calculation formula of the congestion degreeMP2P-congestion(k) of the mobile P2P communication includes thefollowing Formula (2X):

MP2P-congestion(k)=Sstat(STATI)ch2c(k, CHI)(C1 r2c(RI)+C2 pwr2c(PWRI)+C6ns2c(NSI)+C7 ld2c(LDI)+C8 bo2c(BOI))+Σj=1, . . . , N+M, j≠ISstat(STATj)ch2c(k, CHj)(C1 r2c(Rj)+C2 pwr2c(PWRj)+C3 rssi2c(RSSIj)+C4pos2c(POSj)+C5 err2c(ERRj)+C6 ns2c(NSj)+C7 ld2c(LDj)+C8 bo2c(BOj))  (2X)

Here, C1 to C8 in Formula (2X) are weight coefficients for adjustingcontributions of respective terms. C1 to C8 in Formula (2X) may be thesame as or may be different from C1 to C8 in Formula (1X).

The definitions of the respective congestion degree element functionsare the same as those described above. The congestion degree calculatingunit 24 adds the sum of the congestion degrees of the mobile P2Pterminals excluding its own terminal among the N publishers Pubx and theM subscribers Subx (here, N and M may change over) to the congestiondegree of its own terminal PeerI.

Sstat(stat) is a weight coefficient that adjusts a weight according towhether the terminal PeerI is the publisher Pubx (stat=publisher) or thesubscriber Subx (stat=subscriber). Since the publisher Pubx generallyhas more transmission opportunities than the subscriber Subx,Sstat(publisher) is set to be larger than Sstat(subscriber).

After the congestion degree calculating unit 24 calculates thecongestion degree of the wireless communication, the operation modesetting unit 21 updates a setting related to the mobile P2Pcommunication in its own terminal PeerI (step S25). For example, whenits own terminal PeerI is the publisher Pubx (PeerI=PubI andSTATI=publisher), all or some of processes indicated by (E1) to (E5) areperformed (a setting is changed).

(E1) Update of a wireless channel CHI used by PeerI: the operation modesetting unit 21 selects a channel having the lowest congestion degree.In other words, the operation mode setting unit 21 selects k thatminimizes Sch1 Non-MP2P-congestion(k)+Sch2 MP2P-congestion(k) as anupdated channel CHI. Here, Sch1 and Sch2 are weight coefficients of thecongestion degrees of the non-mobile P2P communication and the mobileP2P communication. For example, when Sch1>Sch2, a channel least utilizedby the non-motile P2P communication is likely to be selected.

(E2) Update of transmission power PWRI of PeerI: the operation modesetting unit 21 decreases the transmission power according to thecongestion degree of the selected channel. When the channel k is in use,the operation mode setting unit 21 calculates the transmission powerPWRI through the following Formula (E2-1).

PWRI=Pmax−Spwr1 min{Non-MP2P-congestion(k),Tpwr1}−Spwr2min{MP2P-congestion(k),Tpwr2}  (E2-1)

Here, Tpwr1 and Tpwr2 are threshold values of the congestion degrees,Pmax is a maximum value (the transmission power when the congestiondegree 0) of the transmission power, and Spwr1 and Spwr2 arecoefficients for decreasing the transmission power according to thecongestion degrees. The threshold values Tpwr1 and Tpwr2 have an effectof preventing the transmission we PWRI from becoming too small when thecongestion degrees Non-MP2P-congestion(k) and MP2P-congestion(k)increase. Further, the operation mode setting unit 21 may use thefollowing Formula (E2-2).

PWRI=max{Pmin,Pmax−Spwr1 Non-MP2P-congestion(k)−Spwr2MP2P-congestion(k)}  (E2-2)

Here, Pmin is a minimum value of the transmission power. Pmin, Pmax,Spwr1, Spwr2, Tpwr1, and Tpwr2 may not be a common value to the mobileP2P terminals and may be set to different values according to eachmobile P2P terminal. Further, the values of Pmin, Pmax, Spwr1, Spwr2,Tpwr1, and Tpwr2 may dynamically be changed according to each mobile P2Pterminal. The transmission power PWRI may be set by a decreasingfunction of Non-MP2P-congestion(k) and MP2P-congestion(k) rather thanFormula (E2-1) and Formula (E2-2).

(E3) Update of data transmission frequency used by PeerI: the operationmode setting unit 21 decreases the data transmission frequency as thecongestion degree increases. When the channel k is in use, the operationmode setting unit 21 configures the setting such that the wirelessinterface 31 cancels transmission at a probability p1 calculated by thefollowing Formula (E3-1) at the time of packet transmission.

p1=Sfrq1 min{Non-MP2P-congestion(k),Tfrq1}+Strq2min{MP2P-congestion(k),Tfrq2}  (E3-1)

Here, Tfrq1 and Tfrq2 are threshold values of the congestion degrees,and Sfrq1 and Sfrq2 are coefficients for increasing a transmissionsuspension probability according to the congestion degrees. Thethreshold values Tfrq1 and Tfrq2 have an effect of preventing the datatransmission frequency from becoming too small when the congestiondegrees Non-MP2P-congestion(k) and MP2P-congestion(k) increase. Further,instead of stochastically decreasing the transmission frequency, theoperation mode setting unit 21 may keep the transmission frequencyconstantly low by setting an actual data transmission rate (of theapplication layer) to (1−p1)RI for a transmission rate RI of thephysical layer that is in use. Sfrq1, Sfrq2, Tfrq1, and Tfrq2 may not bea common value to the mobile P2P terminals and may be set to differentvalues according to each mobile P2P terminal. Further, the values ofSfrq1, Sfrq2, Tfrq1, Tfrq2 may dynamically be changed according to eachmobile P2P terminal. The probability p1 may be set by an increasingfunction of Non-MP2P-congestion(k) and MP2P-congestion(k) rather thanFormula (E3-1).

(E4) Update of the stat STATI of PeerI: when the congestion degree ishigh, state transition from the publisher Pubx to the subscriber Subx isperformed. When the channel k is in use, the operation mode setting unit21 evaluates the following Formula (E4-1) at predetermined timeintervals, calculates a probability p2, and performs state transitionbased on the probability p2.

p2=Sdem1 min{Non-MP2P-congestion(k),Tdem1}+Sdem2min{MP2P-congestion(k),Tdem2}  (E4-1)

Here, Tdem1 and Tdem2 are threshold values of the congestion degrees,and Sdem1 and Sdem2 are coefficients for increasing a state transitionprobability according to the congestion degrees. The first term ofFormula (E4-1) indicates that when the number of wireless access pointsAPxs that perform the non-mobile P2P communication around its ownterminal PeerI is large, the probability that its own terminal PeerIwill become the subscriber Subx is high. In other words, its ownterminal PeerI stops playing the role of the publisher Pubx and performsstate transition to the subscriber Subx. As a result, its own terminalPeerI reduces the number of publishers Pubx and mitigates thecongestion.

Further, the second term of Formula (E4-1) indicates that when thenumber of terminals (the publishers Pubx and the subscribers Subx) thatperform the mobile P2P communication around its own terminal PeerI islarge, the probability that its own terminal PeerI will become thesubscriber Subx is high. In other words, its own terminal PeerI stopsplaying the role of the publisher Pubx, and performs state transition tothe subscriber Subx. As a result, its own terminal PeerI reduces thenumber of publishers Pubx and mitigates the congestion. The statetransition occurs probabilistically, but since the evaluation isperformed again in a predetermined period of time, when there is nochange in probability, the state transition is more likely to beperformed as time passes. The threshold values Tdem1 and Tdem2 have aneffect of preventing the probability of the state transition frombecoming too large when the congestion degrees Non-MP2P-congestion(k)and MP2P-congestion(k) increase. Sdem1, Sdem2, Tdem1, and Tdem2 may notbe a common value to the mobile P2P terminals and may be set todifferent values according to each mobile P2P terminal. Further, thevalues of Sdem1, Sdem2, Tdem1, and Tdem2 may dynamically be changedaccording to each mobile P2P terminal. The probability p2 may be set byan increasing function of Non-MP2P-congestion(k) and MP2P-congestion(k)rather than Formula (E4-1).

(E5) Suspension of multicast transmission: the operation mode settingunit 21 configures the setting such that the wireless interface 31suspends multicast transmission when the congestion degree is high. Whenthe mobile P2P local network is implemented in the infrastructure mode,if the subscriber Subx multicasts the repair request, the repair requestis first unicast to the publisher Pubx. Thereafter, the publisher Pubxmulticasts the repair request to the other subscribers Subx. In thiscase, when the congestion degree is high, the multicasting from thepublisher Pubx is postponed. In other words, the multicasting from thepublisher Pubx is delayed by a period of time according to a magnitudeof the congestion degree. For example, when a value v calculated by thefollowing Formula (E5-1) exceeds a threshold value, the publisher Pubxfirst stores in a buffer a repair request unicast from the subscriberSubx as a multicast packet. Then, the publisher Pubx delivers the repairrequest in the multicast manner as part of content delivery from thepublisher Pubx later.

v=Smul1 Non-MP2P-congestion(k)+Smul2 MP2P-congestion(k)   (E5-1)

Here, Smul1 and Smul2 are weight coefficients. Smul1, Smul2, and thethreshold value may not be a common value to the mobile P2P terminalsand may be set to different values according to each mobile P2Pterminal. Further, the values of Smul1, Smul2, and the threshold valuemay be dynamically changed according to each mobile P2P terminal. Thevalue v may be set by an increasing function of Non-MP2P-congestion(k)and MP2P-congestion(k) rather than Formula (E5-1).

When its own terminal PeerI is the subscriber Subx (PeerI=SubI andSTATI=subscriber), the update of the setting related to the mobile P2Pcommunication in step S25 is performed as in the following process (F1).

(F1) The terminal PeerI becomes the publisher when the congestion degreeis low. Specifically, the terminal PeerI performs state transition fromthe subscriber Subx to the publisher based on a probability p3calculated by the following Formula (F1-1).

p3=ρSpro1 min{Non-MP2P-congestion(k),Tpro1}−Spro2min{MP2P-congestion(k),Tpro2}  (F1-1)

Here, Tpro1 and Tpro2 are threshold values of the congestion degrees,and Spro1 and Spro2 are coefficients for decreasing the probability ofthe state transition according to the congestion degrees. ρ is atransition probability (0≦ρ≦1) when the congestion degrees are 0. Thethreshold values Tpro1 and Tpro2 have an effect of preventing theprobability of the state transition from becoming to small when thecongestion degrees Non-1P2P-congestion(k) and MP2P-congestion(k)increase. ρ, Spro1, Spro2, Tpro1, and Tpro2 may be a common value to themobile P2P terminals but may be set to different values according toeach mobile P2P terminal. Further, the values of ρ, Spro1, Spro2, Tpro1,and Tpro2 may be dynamically changed according to each mobile P2Pterminal.

The second term of Formula (F1-1) has an effect of decreasing theprobability when the number of wireless access points APx of thenon-mobile P2P communication therearound is large and avoiding mobileP2P delivery at a congested position. On the other hand, when the numberof non-mobile P2P devices is small, state transition to the publisherPubx is likely to occur, and thus the mobile P2P delivery can beperformed without significantly influencing the non-mobile P2P device.The third term of Formula (F1-1) has an effect of preventing the numberof publishers Pubx from increasing any more when the number ofpublishers Pubx that perform the mobile P2P communication therearound islarge. The probability p3 may be set by a decreasing function ofNon-MP2P-congestion(k) and MP2P-congestion(k) rather than Formula(F1-1).

Further, although not necessarily required, the non-mobile P2P wirelessaccess point APx may perform the following operations (G1) to (G4) incombination with the above-described method.

(G1) Some channels are cleared for the mobile P2P communication. Thenon-mobile P2P APx assumes some channels to be reserved for the mobileP2P communication and uses channels other than the reserved channels.

(G2) Some time slots are cleared for the mobile P2P communication. Thenon-mobile P2P APx divides time into time slots during which a wirelessband can be occupied in turn according to the clock time. For example,the non-mobile P2P APx performs communication only at time slotsstarting from even-numbered seconds (for example, 03:05:00 to 03:05:01or 03:05:02 to 03:05:03), and clears time slots starting fromodd-numbered seconds for the mobile P2P terminal.

(G3) An arrangement of the publisher Pubx is controlled. There are casesin which the non-mobile P2P APx is equipped with a directional antennaand transfers content to be delivered to the mobile P2P terminal usingthis antenna. In this case, the non-mobile P2P APx transfers content tothe mobile P2P terminal at a long distance from its own device bydirectional data transmission. As a result, the mobile P2P terminal canstart the content delivery front a position at which the mobile P2Pcommunication does not cause much interference with the non-mobile P2PAPx.

(G4) The power and the transmission frequency are adjusted. Through thesame methods as the ones described above, the non-mobile P2P APxcalculates Non-MP2P-congestion(k) and MP2P-congestion(k) and adjusts thetransmission power and the data transmission frequency.

As described above, in the present embodiment, a plurality of mobile P2Pcommunication terminals form the local network. Further, any one of themobile P2P communication terminals serves as the publisher Pubx, and thepublisher Pubx transmits data to the subscriber Subx. Moreover, themobile P2P communication terminals switch its role between the publisherPubx and the subscriber Subx, and thus the local network is dynamicallychanged. As a result, content is delivered to a plurality of mobile P2Pcommunication terminals without intervention of an existing network suchas the Internet 101. In this case, the mobile P2P communication terminalshares the communication information (Non-MP2P-info, Others-MP2P-info,and Self-MP2P-info) with the wireless device (the wireless access pointAPx) installed therearound that provides the existing network. Further,the mobile P2P communication terminal adjusts the congestion degree ofthe wireless communication so that the wireless band is dominated byneither of the existing network nor the mobile P2P content delivery. Asa result, at the time of content delivery by the mobile P2Pcommunication terminal, a collaborative operation with the existingnetwork infrastructure is implemented.

For example, there are cases in which mobile phones of a crowd of peoplegathered at one place due to an event or the like perform the mobile P2Pcommunication. At this time, the number of mobile P2P terminals is muchlarger than the number of non-mobile P2P devices installed at the eventsite. In this case, when a large number of mobile P2P terminals performcontent delivery, the wireless band is congested. In the presentembodiment, the mobile P2P communication terminal adjusts the congestiondegree of the mobile P2P communication according to the congestiondegrees of the mobile P2P communication and the non-mobile P2Pcommunication. As a result, at the time of the content delivery by themobile P2P communication terminal, the congestion of the wireless bandcan be mitigated.

Further, in the present embodiment, the congestion degree calculatingunit 24 calculates the congestion degree using Non-MP2P-info, but thecongestion degree calculating unit 24 may calculate the congestiondegree using a predetermined fixed value instead of at least part ofinformation in Non-MP2P-info.

Further, the congestion degree calculating unit 24 calculates thecongestion degree using Others-MP2P-info, but the congestion degreecalculating unit 24 may calculate the congestion degree using apredetermined fixed value instead of at least part of information inOthers-MP2P-info.

Further, the congestion degree calculating unit 24 calculates thecongestion degree using Self-MP2P-info, but the congestion degreecalculating unit 24 may calculate the congestion degree using apredetermined fixed value instead of at least part of information inSelf-MP2P-info. Moreover, the congestion degree calculating unit 24calculates the congestion degree using Self-MP2P-info, but thecongestion degree calculating unit 24 may calculate the congestiondegree without using Self-MP2P-info.

As described above, according to the embodiment, the congestion degreecalculating unit 24 acquires the congestion degree of the mobile P2Pcommunication (a first congestion degree of first wirelesscommunication) from the mobile P2P communication terminal. Further, thecongestion degree calculating unit 24 acquires the congestion degree ofthe non-mobile P2P communication (a second congestion degree of secondwireless communication) from the wireless access point APx. Furthermore,the congestion degree calculating unit 24 calculates a third congestiondegree related to wireless communication based on the first congestiondegree and the second congestion degree. Moreover, the operation modesetting unit 21 switches a setting of an operation mode of the mobileP2P communication of its own device to either of the publisher Pubx orthe subscriber Subx based on the third congestion degree.

Accordingly, in the mobile P2P communication, wireless communication isperformed at the data transmission frequency according to the thirdcongestion degree. Thus, even when the mobile P2P communication and thenon-mobile P2P communication are performed together, it is possible tosuppress a decrease in the communication rate coming from wirelesscongestion.

While certain embodiments have been described, these embodiments havebeen presented by way of example only, and are not intended to limit thescope of the inventions. Indeed, the novel embodiments described hereinmay be embodied in a variety of other forms; furthermore, variousomissions, substitutions and changes in the form of the embodimentsdescribed herein may be made without departing from the spirit of theinventions. The accompanying claims and their equivalents are intendedto over such forms or modifications as would fall within the scope andspirit of the inventions.

What is claimed is:
 1. A communication apparatus, comprising: acongestion degree calculating unit that calculates a third congestiondegree related to wireless communication based on a first congestiondegree of first wireless communication in which peer-to-peer wirelesscommunication is performed directly between communication apparatusesand a second congestion degree of second wireless communication in whichwireless communication is performed through a wireless communicationdevice connected to a network; a wireless interface that performs thefirst wireless communication; and an operation mode setting unit thatswitches a setting of an operation mode of the first wirelesscommunication of the communication apparatus based on the thirdcongestion degree to either of a first communication mode in which thecommunication apparatus transmits first content or a secondcommunication mode in which the communication apparatus receives secondcontent.
 2. The communication apparatus according to claim 1, whereinthe congestion degree calculating unit calculates the first congestiondegree using first information related to the first wirelesscommunication transmitted from another communication apparatus.
 3. Thecommunication apparatus according to claim 1, wherein the congestiondegree calculating unit calculates the first congestion degree usingsecond information related to the first wireless communication acquiredby the communication apparatus when the first wireless communicationwith another communication apparatus is performed.
 4. The communicationapparatus according to claim 1, wherein the congestion degreecalculating unit calculates the second congestion degree using thirdinformation related to the second wireless communication transmittedfrom the wireless communication device.
 5. The communication apparatusaccording to claim 1, wherein the congestion degree calculating unitcalculates the second congestion degree using fourth information relatedto the second wireless communication acquired by the communicationapparatus when the second wireless communication with the wirelesscommunication device is performed.
 6. The communication apparatusaccording to claim 1, wherein the congestion degree calculating unitcalculates the first congestion degree using fifth information relatedto the first wireless communication of the communication apparatus. 7.The communication apparatus according to claim 2, wherein the firstinformation includes at least one of information of a channelidentifying a wireless band in which the other communication apparatusperforms the first wireless communication, a transmission rate at whichthe other communication apparatus performs the first wirelesscommunication, transmission power at which the other communicationapparatus performs the first wireless communication, information of aposition of the other communication apparatus, the number ofcommunication apparatuses connected to the other communicationapparatus, an amount of data per unit time that is transmitted andreceived in the other communication apparatus, an average of the numberof times that back-off has been performed during a predetermined pastperiod of time before the other communication apparatus transmits data,and information indicating a state as to whether the other communicationapparatus is in the first communication mode or the second communicationmode.
 8. The communication apparatus according to claim 3, wherein thesecond information includes at least one of received power of the firstwireless communication performed by the other communication apparatus,and an error rate of data transfer when the other communicationapparatus has performed the first wireless communication.
 9. Thecommunication apparatus according to claim 4, wherein the thirdinformation includes at least one of information of a channelidentifying a wireless band in which the wireless communication deviceperforms the second wireless communication, a transmission rate at whichthe wireless communication device performs the second wirelesscommunication, transmission power at which the wireless communicationdevice performs the second wireless communication, information of aposition of the wireless communication device, the number of wirelessapparatuses connected to the wireless communication device, an amount ofdata per unit time that is transmitted and received in the wirelesscommunication device, and an average of the number of times thatback-off has been performed during a predetermined past period of timebefore wireless communication device transmits data.
 10. Thecommunication apparatus according to claim 5, wherein the fourthinformation includes at least one of received power of the secondwireless communication performed by the wireless communication device,and an error rate of data transfer when the wireless communicationdevice has performed the second wireless communication.
 11. Thecommunication apparatus according to claim 1, wherein wireless bandsinclude a first channel and a second channel, the congestion degreecalculating unit calculates the first congestion degree for each of thefirst channel and the second channel, the congestion degree calculatingunit calculates the second congestion degree for each of the firstchannel and the second channel, and the congestion degree calculatingunit calculates the third congestion degree for each of the firstchannel and the second channel based on the first and second congestiondegrees.
 12. The communication apparatus according to claim 11, whereinthe congestion degree calculating unit calculates the third congestiondegree for each of the first channel and the second channel by givingdifferent weights to the first and second congestion degrees.
 13. Thecommunication apparatus according to claim 1, wherein in order to changethe operation mode, the operation mode setting unit performs at leastone of selecting a channel from among a plurality of channels thatminimizes the third congestion degree, decreasing transmission poweraccording to the third congestion degree in a selected channel,decreasing a data transmission frequency according to the thirdcongestion degree in a selected channel, increasing a probability totransition from the first communication mode to the second communicationmode according to the third congestion degree in a selected channel,decreasing a probability to transition from the second communicationmode to the first communication mode according to the third congestiondegree in a selected channel, and delaying multicasting of a receivedrequest for data retransmission according to the third congestion degreein a selected channel.
 14. The communication apparatus according toclaim 2, wherein the communication apparatus receives the firstinformation directly from the other communication apparatus.
 15. Thecommunication apparatus according to claim 2, wherein the communicationapparatus acquires the first information through the network and aserver.
 16. The communication apparatus according to claim 4, whereinthe communication apparatus receives the third information directly fromthe wireless communication device.
 17. The communication apparatusaccording to claim 4, wherein the communication apparatus acquires thethird information through the network and a server.
 18. A communicationmethod, comprising: acquiring a first congestion degree of firstwireless communication in which peer-to-peer wireless communication isdirectly performed between communication apparatuses; acquiring a secondcongestion degree of second wireless communication in which wirelesscommunication is performed through a wireless communication deviceconnected to a network; calculating a third congestion degree related towireless communication based on the first congestion degree and thesecond congestion degree; and switching a setting of an operation modeof the first wireless communication of a communication apparatus basedon the third congestion degree to either of a first communication modein which the communication apparatus transmits first content or a secondcommunication mode in which the communication apparatus receives secondcontent.
 19. The communication method according to claim 18, wherein,when the first congestion degree is calculated, first informationrelated to the first wireless communication transmitted from anothercommunication apparatus is used.
 20. The communication method accordingto claim 18, wherein, when the first congestion degree is calculated,second information related to the first wireless communication acquiredby the communication apparatus when the first wireless communicationwith another communication apparatus is performed is used.